home *** CD-ROM | disk | FTP | other *** search
- // ---------------------------------------- //
- // Color Kun Puzzle World For Windows Vol.1 //
- // MS-WINDOWS Ver3.1 //
- // Borland C++ For Windows Ver3.1 //
- // Programing By Country Fox(WIN) //
- // ---------------------------------------- //
-
- // âXâeü[âWâGâfâBâ^éuerüDéP
- #define WIN31 1
-
- #include <owl.h>
- #include <bwcc.h>
-
- #include <stdio.h>
- #include <string.h>
- #include <dir.h>
-
- #include <inputdia.h>
- #include <filedial.h>
-
- #define STAGEMAP_SIZEX 20
- #define STAGEMAP_SIZEY 11
-
-
- // ------------------------------- //
- // TApplicationé⌐éτTEditMainé≡ì∞ɼ //
- // ------------------------------- //
-
- class TgEditMain : public TApplication
- {
- public:
- TgEditMain(LPSTR AName, HANDLE hInstance, HANDLE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
- : TApplication(AName, hInstance, hPrevInstance, lpCmdLine, nCmdShow) {};
- virtual void InitMainWindow();
- };
-
- // ----------------//
- // TEditMainâNâëâX //
- // ----------------//
-
- _CLASSDEF(TgEditWindow)
- class TgEditWindow : public TWindow
- {
- private:
- HBITMAP corkun_bit; // âJâëü[îNârâbâgâ}âbâv
- int corkun_x,corkun_y; // âJâëü[îNé╠ê╩Æu
- HDC BugDC;
-
- // âQü[âÇâ}âbâv
- unsigned char stagemap[STAGEMAP_SIZEX][STAGEMAP_SIZEY];
- int stage_no;
- int stage_mode;
- char stage_file[MAXPATH];
-
- int pom_max;
-
- // âLâââëâNâ^ü[ârâbâgâ}âbâvâìâPü[â^âeü[âuâï
- #define CHRBIT_MAX 45
-
- // memo â}âbâvâeü[âuâïêΩùù
- // 0 = Å░
- // 1 = éoénélîN
- // 2 = ò╟
- // 3 = âJâëü[îN
- // 4 - 13 = âJâëü[âuâìâbâNÉ╘
- // 14 - 23 = âJâëü[âuâìâbâNÉ┬
- // 24 = é╖é»é╖é»âuâìâbâN
- // 25 - 34 = âJâëü[âuâìâbâNÉ╘
- // 35 - 44 = âJâëü[âuâìâbâNÉ┬
-
- #define MAP_YUKA 0
- #define MAP_POMKUN 1
- #define MAP_KABE 2
- #define MAP_CORKUN 3
-
- #define MAP_BLOCK 4
- #define MAP_FU_BLOCK 25
- #define MAP_BLOCKEND 45
-
- #define MAP_BLUEBLOCK 4
- #define MAP_REDBLOCK 14
- #define MAP_SUKEBLOCK 24
- #define MAP_FU_BLUEBLOCK 25
- #define MAP_FU_REDBLOCK 35
-
- int pom_bitx[4];
- int pom_bity[4];
-
- int chr_bitx[CHRBIT_MAX];
- int chr_bity[CHRBIT_MAX];
-
- int chr_sizex;
- int chr_sizey;
-
-
- int pbox_sw;
- int pbox_x,pbox_y;
- int pbox_sizex,pbox_sizey;
- int select_chr;
-
- public:
- LPSTR GetClassName(void)
- {
- // â_âCâAâìâOâ{âbâNâXé╠âNâëâXû╝é≡ "BorDlgTest" é╔é╖éΘ
- return "Color Kun";
- }
- void GetWindowClass(WNDCLASS& wc)
- {
- TWindow::GetWindowClass(wc);
- // "SAMPLEICON" é╞éóéñû╝æOé╠âAâCâRâôâèâ\ü[âXé≡ÄwÆΦé╖éΘ
- wc.hIcon = LoadIcon(GetApplication()->hInstance, "ICON_1");
- }
-
- // âüâCâô
- TgEditWindow(PTWindowsObject AParent, LPSTR ATitle);
-
- virtual void SetupWindow( void );
-
- virtual void Paint( HDC PaintDC, PAINTSTRUCT& PaintInfo );
-
- // â}âEâXùpDDVTè╓Éöé╠ÆΦï`
- virtual void WMLButtonDown(RTMessage Msg) = [WM_FIRST + WM_LBUTTONDOWN];
- virtual void WMRButtonDown(RTMessage Msg) = [WM_FIRST + WM_RBUTTONDOWN];
-
- // âüâjâàü[ùpDDVTè╓Éöé╠ÆΦï`
- virtual void CMgEditNewFile(RTMessage Msg) = [CM_FIRST + 101];
- virtual void CMgEditFileOpen(RTMessage Msg) = [CM_FIRST + 102];
- virtual void CMgEditFileSave(RTMessage Msg) = [CM_FIRST + 103];
- virtual void CMgEditExit(RTMessage Msg) = [CM_FIRST + 104];
-
- virtual void CMgEditPomkun(RTMessage Msg) = [CM_FIRST + 201];
- virtual void CMgEditStageNo(RTMessage Msg) = [CM_FIRST + 202];
-
- virtual void CMHelpList(RTMessage Msg) = [CM_FIRST + 301];
- virtual void CMHelpAbout(RTMessage Msg) = [CM_FIRST + 302];
-
- void parts_box(HDC DC,HDC MemDC);
-
- void GameStageMake(HDC DC,HDC MemDC);
- int save_file(void );
- void GameStatus(HDC DC);
- int StageMapMake(void );
- void DefaultStageMake(void );
-
- };
-
- // TgEditWindowé╠âRâôâXâgâëâNâ^
- TgEditWindow::TgEditWindow(PTWindowsObject AParent, LPSTR ATitle) : TWindow(AParent, ATitle)
- {
- int init_chr_bitx[CHRBIT_MAX] =
- {
- 0,64,32,128, // Å░ü@éoénélîN ò╟ âJâëü[îNü@
- 0,32,64,96,128,160,192,224,256,288, // âuâìâbâNÉ┬
- 0,32,64,96,128,160,192,224,256,288, // âuâìâbâNÉ╘
- 64, // é╖é»é╖é»âuâìâbâN
- 0,32,64,96,128,160,192,224,256,288, // òsô«âuâìâbâNÉ┬
- 0,32,64,96,128,160,192,224,256,288, // òsô«âuâìâbâNÉ╘
- };
- int init_chr_bity[CHRBIT_MAX] =
- {
- 64,32,64, 0, // Å░ü@éoénélîN ò╟ âJâëü[îNü@
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, // âuâìâbâNÉ┬
- 128,128,128,128,128, 128,128,128,128,128, // âuâìâbâNÉ╘
- 64, // é╖é»é╖é»âuâìâbâN
- 160,160,160,160,160, 160,160,160,160,160, // òsô«âuâìâbâNÉ┬
- 192,192,192,192,192, 192,192,192,192,192, // òsô«âuâìâbâNÉ╘
- };
- int init_pom_bitx[4] = { 0,32,64,96 };
- int init_pom_bity[4] = { 32,32,32,32 };
- int cou1;
-
- // âLâââëâNâ^âTâCâY
- chr_sizex = 32;
- chr_sizey = 32;
-
- // âEâCâôâhâTâCâY
- Attr.W = chr_sizex * STAGEMAP_SIZEX - 1;
- Attr.H = (chr_sizey * STAGEMAP_SIZEY - 1) + GetSystemMetrics(SM_CYCAPTION) +
- GetSystemMetrics(SM_CYMENU);
- Attr.Style = WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
-
- // âüâjâàü[âeâôâvâîü[âg
- AssignMenu("MENU_1");
-
- // âJâëü[îNé╠âXâeü[â^âXÅëè·ë╗
- corkun_x = 1;
- corkun_y = 1;
-
- for(cou1 = 0;cou1 < CHRBIT_MAX;cou1 ++)
- {
- chr_bitx[cou1] = init_chr_bitx[cou1];
- chr_bity[cou1] = init_chr_bity[cou1];
- }
-
- // éoénélîNé╠Åëè·ë╗
- for(cou1 = 0;cou1 < 4;cou1 ++)
- {
- pom_bitx[cou1] = init_pom_bitx[cou1];
- pom_bity[cou1] = init_pom_bity[cou1];
- }
-
- stage_no = 1;
- strcpy(stage_file,"user.da2");
- DefaultStageMake(); // âXâeü[âWé╠èεæbÉ▌îv
- StageMapMake(); // âXâeü[âWô╟é▌ì₧é▌
-
- // ---
- pbox_sw = 0;
- select_chr = 0;
-
- }
-
- void TgEditWindow::WMLButtonDown(RTMessage Msg)
- {
- int se_tbl[5][10] =
- {
- { 0, 1, 2, 3,24, 0, 0, 0, 0, 0, },
- { 4, 5, 6, 7, 8, 9,10,11,12,13, },
- { 14,15,16,17,18, 19,20,21,22,23, },
- { 25,26,27,28,29, 30,31,32,33,34, },
- { 35,36,37,38,39, 40,41,42,43,44, },
- };
- HDC DC,MemDC;
- int bit_x,bit_y;
- int px,py;
- int x,y;
-
- px = Msg.LP.Lo;
- py = Msg.LP.Hi;
-
- x = px / 32;
- y = py / 32;
-
- DC = GetDC(HWindow);
- MemDC = CreateCompatibleDC( DC );
- SelectObject( MemDC, corkun_bit );
-
-
- if (pbox_sw && ((px > pbox_x && px < (pbox_x + pbox_sizex)) &&
- (py > pbox_y && py < (pbox_y + pbox_sizey))))
- { // âpü[âcâ{âbâNâXéµéΦïzéóĵéΦ
- x = (px - pbox_x) / 32;
- y = (py - pbox_y) / 32;
- select_chr = se_tbl[y][x];
-
- // âpü[âcâ{âbâNâXÅ┴ïÄ
- GameStageMake(DC ,MemDC);
- GameStatus(DC);
- pbox_sw = 0;
- }
- else
- { // âpü[âcüiâLâââëâNâ^üjé≡Æué¡
- stagemap[x][y] = select_chr;
-
- bit_x = chr_bitx[select_chr];
- bit_y = chr_bity[select_chr];
- BitBlt( DC, x * 32,y * 32,32,32,MemDC,bit_x,bit_y, SRCCOPY );
- }
-
- DeleteDC( MemDC );
- ReleaseDC(HWindow,DC);
- }
-
-
- // ëEâ{â^âôâNâèâbâN
- // âLâââëâNâ^ïzéóĵéΦ
- void TgEditWindow::WMRButtonDown(RTMessage Msg)
- {
- int se_tbl[5][10] =
- {
- { 0, 1, 2, 3,24, 0, 0, 0, 0, 0, },
- { 4, 5, 6, 7, 8, 9,10,11,12,13, },
- { 14,15,16,17,18, 19,20,21,22,23, },
- { 25,26,27,28,29, 30,31,32,33,34, },
- { 35,36,37,38,39, 40,41,42,43,44, },
- };
-
- HDC DC,MemDC;
- int px,py;
- int x,y;
-
- px = Msg.LP.Lo;
- py = Msg.LP.Hi;
-
- x = px / 32;
- y = py / 32;
-
- if (pbox_sw && ((px > pbox_x && px < (pbox_x + pbox_sizex)) &&
- (py > pbox_y && py < (pbox_y + pbox_sizey))))
- { // âpü[âcâ{âbâNâXéµéΦïzéóĵéΦ
- x = (px - pbox_x) / 32;
- y = (py - pbox_y) / 32;
- select_chr = se_tbl[y][x];
- return;
- }
-
- if (select_chr == stagemap[x][y])
- {
- DC = GetDC(HWindow);
- MemDC = CreateCompatibleDC( DC );
- SelectObject( MemDC, corkun_bit );
- if (!pbox_sw)
- {
- parts_box(DC,MemDC); // âpü[âcâ{âbâNâXò\Ī
- pbox_sw = 1;
- }
- else
- { // âpü[âcâ{âbâNâXÅ┴ïÄ
- GameStageMake(DC ,MemDC);
- GameStatus(DC);
- pbox_sw = 0;
- }
- DeleteDC( MemDC );
- ReleaseDC(HWindow,DC);
- }
- else
- { // â}âbâvéµéΦïzéóĵéΦ
- select_chr = stagemap[x][y];
- }
-
- }
-
-
-
- // ---------------- //
- // âEâCâôâhë₧ôÜè╓Éö //
- // ---------------- //
-
- void TgEditWindow::SetupWindow( void )
- {
- corkun_bit = LoadBitmap( GetApplication()->hInstance, "CORKUN_CHR" );
- if (corkun_bit == NULL)
- {
- MessageBox(HWindow,
- "Error : LoadBitmap CORKUN_CHR",
- "Color Kun For Windows Vol.1",MB_OK);
- }
- }
-
-
- void TgEditWindow::Paint( HDC PaintDC, PAINTSTRUCT& )
- {
- HDC MemDC;
- TDialog *PAbout;
- static int sw = 0;
-
- MemDC = CreateCompatibleDC( PaintDC );
- SelectObject( MemDC, corkun_bit );
-
- GameStageMake(PaintDC ,MemDC);
- GameStatus(PaintDC);
-
- DeleteDC( MemDC );
-
-
- if (!sw)
- {
- sw = 1;
- PAbout = new TDialog( this, "DIALOG_2"); // â_âCâAâìâOî─é╤Åoé╡
- GetApplication()->ExecDialog(PAbout); // â_âCâAâìâOÄ└ìs
- }
- }
-
-
- void TgEditWindow::CMgEditNewFile(RTMessage)
- {
- HDC DC,MemDC;
- int err;
- char stage_bk_file[MAXPATH];
-
- strcpy(stage_bk_file,stage_file);
- if (GetApplication()->ExecDialog(
- new TFileDialog(this,SD_FILEOPEN,strcpy(stage_file,"*.da2"))) != IDOK)
- { // âLâââôâZâï
- strcpy(stage_file,stage_bk_file);
- return;
- }
-
- // âfâoâCâXâRâôâeâLâXâgĵô╛
- DC = GetDC( HWindow );
- MemDC = CreateCompatibleDC( DC );
- SelectObject( MemDC, corkun_bit );
-
- DefaultStageMake(); // âXâeü[âWé╠èεæbÉ▌îv
-
- err = StageMapMake(); // âXâeü[âWô╟é▌ì₧é▌
- switch(err)
- {
- case 0 : /* âtâ@âCâïé¬éáéΘ */
- case 1 :
- MessageBox(HWindow,
- "Error : Not File Name!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
- break;
- }
-
- GameStageMake(DC,MemDC); // âXâeü[âWò\Ī
- GameStatus(DC); // âXâeü[â^âXò\Ī
-
- // âfâoâCâXâRâôâeâLâXâgë≡ò·
- DeleteDC( MemDC );
- ReleaseDC( HWindow, DC );
- }
-
- // âtâ@âCâïâIü[âvâô
- void TgEditWindow::CMgEditFileOpen(RTMessage)
- {
- HDC DC,MemDC;
- int err;
- char stage_bk_file[MAXPATH];
-
- strcpy(stage_bk_file,stage_file);
- if (GetApplication()->ExecDialog(
- new TFileDialog(this,SD_FILEOPEN,strcpy(stage_file,"*.da2"))) != IDOK)
- { // âLâââôâZâï
- strcpy(stage_file,stage_bk_file);
- return;
- }
-
- // âfâoâCâXâRâôâeâLâXâgĵô╛
- DC = GetDC( HWindow );
- MemDC = CreateCompatibleDC( DC );
- SelectObject( MemDC, corkun_bit );
-
- DefaultStageMake(); // âXâeü[âWé╠èεæbÉ▌îv
- err = StageMapMake(); // âXâeü[âWô╟é▌ì₧é▌
- switch(err)
- {
- case 2 : // âtâ@âCâïé¬é╚éó
- MessageBox(HWindow,
- "Error : No File!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
- break;
-
- case 1 : // âXâeü[âWé¬é▌é┬é⌐éτé╚éó
- MessageBox(HWindow,
- "Error : No Stage!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
- break;
- }
-
- GameStageMake(DC,MemDC); // âXâeü[âWò\Ī
- GameStatus(DC); // âXâeü[â^âXò\Ī
-
- // âfâoâCâXâRâôâeâLâXâgë≡ò·
- DeleteDC( MemDC );
- ReleaseDC( HWindow, DC );
- }
-
-
- // âtâ@âCâïâZü[âu
- void TgEditWindow::CMgEditFileSave(RTMessage)
- {
- char buf[80];
-
- sprintf(buf,"Stage No %d Save",stage_no);
- if (MessageBox(HWindow, "Do you want to save?",
- buf,MB_YESNO | MB_ICONQUESTION) != IDNO)
- { /* âXâeü[âWâZü[âu */
- save_file();
- }
-
- }
-
- // ÅIù╣
- void TgEditWindow::CMgEditExit(RTMessage)
- {
- SendMessage(HWindow,WM_CLOSE,0,0);
- }
-
- // éoénéléjétémé╠ÉöÉ▌ÆΦ
- void TgEditWindow::CMgEditPomkun(RTMessage)
- {
- HDC DC;
- char st_no[80] = "";
-
- if (GetApplication()->ExecDialog(new TInputDialog(this,"Pomkun Max",
- "Input a new Pomkun Max:",st_no,sizeof(st_no))) != IDOK)
- { // âLâââôâZâï
- return;
- }
-
- pom_max = atoi(st_no);
- if (stage_no < 1) stage_no = 1;
- if (stage_no > 99) stage_no = 99;
-
- // âfâoâCâXâRâôâeâLâXâgĵô╛
- DC = GetDC( HWindow );
- GameStatus(DC); // âXâeü[â^âXò\Ī
- // âfâoâCâXâRâôâeâLâXâgë≡ò·
- ReleaseDC( HWindow, DC );
-
- }
-
- // âXâeü[âWâiâôâoü[É▌ÆΦ
- void TgEditWindow::CMgEditStageNo(RTMessage)
- {
- HDC DC,MemDC;
- int err;
- char st_no[80] = "";
- char buf[80];
-
- sprintf(buf,"Stage No %d Save",stage_no);
- if (MessageBox(HWindow, "Do you want to save?",
- buf,MB_YESNO | MB_ICONQUESTION) != IDNO)
- { /* âXâeü[âWâZü[âu */
- save_file();
- }
-
- if (GetApplication()->ExecDialog(new TInputDialog(this,"Stage Select",
- "Input a new Stage No:",st_no,sizeof(st_no))) != IDOK)
- { // âLâââôâZâï
- return;
- }
-
- stage_no = atoi(st_no);
- if (stage_no == 0)
- { // Error
- MessageBox(HWindow,
- "Error : No Stage!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
-
- stage_no = 1;
- return;
- }
-
-
- // âfâoâCâXâRâôâeâLâXâgĵô╛
- DC = GetDC( HWindow );
- MemDC = CreateCompatibleDC( DC );
- SelectObject( MemDC, corkun_bit );
-
- DefaultStageMake(); // âXâeü[âWé╠èεæbÉ▌îv
- err = StageMapMake(); // âXâeü[âWô╟é▌ì₧é▌
- switch(err)
- {
- case 2 : // âtâ@âCâïé¬é╚éó
- MessageBox(HWindow,
- "Error : No File!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
- break;
-
- case 1 : // âXâeü[âWé¬é▌é┬é⌐éτé╚éó
- MessageBox(HWindow,
- "Error : No Stage!!",
- "Color Kun For Windows [Stage Edit] Vol.1",MB_OK);
- break;
- }
-
- GameStageMake(DC,MemDC); // âXâeü[âWò\Ī
- GameStatus(DC); // âXâeü[â^âXò\Ī
-
- // âfâoâCâXâRâôâeâLâXâgë≡ò·
- DeleteDC( MemDC );
- ReleaseDC( HWindow, DC );
- }
-
- // âèâXâg
- void TgEditWindow::CMHelpList(RTMessage)
- {
- TDialog *PAbout;
-
- // âèâXâgâ_âCâAâìâOì∞ɼ
- PAbout = new TDialog( this, "DIALOG_3"); // â_âCâAâìâOî─é╤Åoé╡
- GetApplication()->ExecDialog(PAbout); // â_âCâAâìâOÄ└ìs
- }
-
- // âAâoâEâg
- void TgEditWindow::CMHelpAbout(RTMessage)
- {
- TDialog *PAbout;
-
- // é`éééÅéòéöâ_âCâAâìâOì∞ɼ
- PAbout = new TDialog( this, "DIALOG_1"); // â_âCâAâìâOî─é╤Åoé╡
- GetApplication()->ExecDialog(PAbout); // â_âCâAâìâOÄ└ìs
- }
-
-
-
- // âpü[âcâ{âbâNâXò\Ī
- void TgEditWindow::parts_box(HDC DC,HDC MemDC)
- {
- int cou1,cou2,cou3;
- int bit_x,bit_y;
- int x,y;
-
- x = 32 * 5;
- y = 32 * 3;
-
- pbox_x = x;
- pbox_y = y;
- pbox_sizex = 10 * 32;
- pbox_sizey = 5 * 32;
-
- // âoâbâN
- for(cou1 = 0;cou1 < 11;cou1 ++)
- for(cou2 = 0;cou2 < 6;cou2 ++)
- {
- BitBlt( DC, cou1 * 32 + (x - 16),cou2 * 32 + (y - 16),
- 32, 32, MemDC, 4 * 32,2 * 32, SRCCOPY );
- }
-
-
- // éóéδéóéδêΩùù
- cou3 = 0;
- for(cou1 = 0;cou1 < 5;cou1 ++)
- {
- bit_x = chr_bitx[cou3];
- bit_y = chr_bity[cou3];
- BitBlt( DC, cou1 * 32 + x,y,
- 32, 32, MemDC, bit_x, bit_y, SRCCOPY );
- cou3 ++;
- if (cou3 == MAP_BLOCK) cou3 = MAP_SUKEBLOCK; // é╖é»é╖é»âuâìâbâNÉ▌ÆΦ
- }
-
- // âuâìâbâNêΩùù
- cou3 = 4;
- for(cou2 = 0;cou2 < 4;cou2 ++)
- for(cou1 = 0;cou1 < 10;cou1 ++)
- {
- bit_x = chr_bitx[cou3];
- bit_y = chr_bity[cou3];
- BitBlt( DC, cou1 * 32 + x, cou2 * 32 + (y + 32),
- 32, 32, MemDC, bit_x, bit_y, SRCCOPY );
- cou3 ++;
- if (cou3 == MAP_SUKEBLOCK) cou3 ++; /* é╖é»é╖é»âuâìâbâNé═é╞é╬é╖ */
- }
-
- }
-
-
-
- // âXâeü[âWò`ëµ
- void TgEditWindow::GameStageMake(HDC DC ,HDC MemDC)
- {
- int cou1,cou2;
- int bit_x,bit_y;
-
- // âmü[â}âïé╠âXâeü[âWò\Ī
- for(cou1 = 0;cou1 < STAGEMAP_SIZEX;cou1 ++)
- for(cou2 = 0;cou2 < STAGEMAP_SIZEY;cou2 ++)
- {
- bit_x = chr_bitx[stagemap[cou1][cou2]];
- bit_y = chr_bity[stagemap[cou1][cou2]];
- BitBlt( DC, cou1 * 32, cou2 * 32,
- 32, 32, MemDC, bit_x, bit_y, SRCCOPY );
- }
-
- #if 0
- // âJâëü[îNò\Ī
- bit_x = chr_bitx[MAP_CORKUN];
- bit_y = chr_bity[MAP_CORKUN];
- BitBlt( DC, corkun_x * 32, corkun_y * 32,
- 32, 32, MemDC, bit_x, bit_y, SRCCOPY );
- #endif
- }
-
- // âQü[âÇâXâeü[â^âX
- void TgEditWindow::GameStatus(HDC DC)
- {
- char str[80];
-
- // éoénélîNé≡ü|éPÅCÉ│é╡é─ò\Ī
- sprintf(str,"STAGE %2.2d : POM KUN %2.2d",stage_no,pom_max);
- TextOut(DC,232,7,str,strlen(str));
- }
-
-
- // âXâeü[âWâ}âbâvé╠ɺì∞
- // 0 ô╟é▌ì₧é▌ɼî≈
- // 1 âXâeü[âWé¬é▌é┬é⌐éτé╚éó
- // 2 âtâ@âCâïé¬é▌é┬é⌐éτé╚éó
- int TgEditWindow::StageMapMake(void )
- {
- int stage_tab;
- int cou1,cou2;
- char buf[80];
- FILE *fp;
-
- /* âtâ@âCâïô╟é▌ì₧é▌ */
- fp = fopen(stage_file,"rt");
- if (fp == NULL)
- {
- fclose(fp);
- return(2);
- }
-
- do
- {
- while (fgets(buf,80,fp) != NULL && buf[0] != '.');
- if (strncmp(buf,".data",5) == 0)
- {
- sscanf(&buf[5],"%d",&stage_tab);
- }
- else
- {
- fclose(fp);
- return(1);
- }
- }
- while (stage_no != stage_tab);
-
- fgets(buf,80,fp);
- sscanf(&buf[4],"%d",&pom_max);
-
- for (cou1 = 0;cou1 < STAGEMAP_SIZEY;cou1++)
- {
- if (fgets(buf,80,fp) == NULL)
- {
- stage_no = -1;
- fclose(fp);
- return(2);
- }
- for (cou2 = 0;cou2 < STAGEMAP_SIZEX;cou2++)
- {
- stagemap[cou2][cou1] = buf[cou2] - '0';
- #if 0
- if (stagemap[cou2][cou1] == MAP_CORKUN)
- {
- corkun_x = cou2;
- corkun_y = cou1;
- }
- #endif
- }
- }
-
- fclose(fp);
-
- return(0);
- }
-
- int TgEditWindow::save_file(void )
- {
- int cou1,cou2;
- int stage_tab;
- char buf[80];
- FILE *fp; /* âtâ@âCâïâfü[â^é≡éåéÉâ|âCâôâ^é╔æπôⁿ */
-
- fp = fopen(stage_file,"rt+");
- if (fp == NULL) /* âfü[â^âtâ@âCâïé╠ÉVïKì∞ɼ */
- {
- fclose(fp);
- fp = fopen(stage_file,"wt+");
- }
-
- do {
- while (fgets(buf,80,fp) != NULL && buf[0] != '.');
- if (strncmp(buf,".data",5) == 0)
- {
- sscanf(&buf[5],"%d",&stage_tab);
- fseek(fp,0,SEEK_CUR); /* ôⁿÅoù═é╠É╪éΦæ╓éª */
- }
- else /* ÉVïKâXâeü[âWâfü[â^é╞é╡é─ì∞ɼ */
- {
- fclose(fp);
- fp = fopen(stage_file,"at");
- fprintf(fp,".data %d\n",stage_no);
- break;
- }
- } while (stage_no != stage_tab);
-
- fprintf(fp,"pom %d\n",pom_max);
-
- for (cou1=0;cou1 <= 10;cou1++)
- {
- for (cou2=0;cou2 <= 19;cou2++)
- fprintf(fp,"%c",stagemap[cou2][cou1]+'0');
- fprintf(fp,"\n");
- }
- fclose(fp);
-
- return(0);
- }
-
-
-
-
-
- // âXâeü[âWèεû{É▌îvüiâXâeü[âWâtâ@âCâïé¬î⌐é┬é⌐éτé╚é⌐é┴é╜ÅΩìçé╚é╟é╔Ägùpüj
- void TgEditWindow::DefaultStageMake(void )
- {
- int cou1,cou2;
-
- // Å░
- for(cou1 = 0;cou1 < STAGEMAP_SIZEX;cou1 ++)
- for(cou2 = 0;cou2 < STAGEMAP_SIZEY;cou2 ++)
- stagemap[cou1][cou2] = MAP_YUKA;
-
- // ò╟
- for(cou1 = 0;cou1 < STAGEMAP_SIZEX;cou1 ++)
- {
- stagemap[cou1][0] = MAP_KABE;
- stagemap[cou1][STAGEMAP_SIZEY - 1] = MAP_KABE;
- }
- for(cou1 = 0;cou1 < STAGEMAP_SIZEY;cou1 ++)
- {
- stagemap[0][cou1] = MAP_KABE;
- stagemap[STAGEMAP_SIZEX - 1][cou1] = MAP_KABE;
- }
-
- corkun_x = 1;
- corkun_y = 1;
- pom_max = 25;
- }
-
-
-
-
-
- // âEâCâôâhâCâjâVâââëâCâY
- void TgEditMain::InitMainWindow()
- {
- MainWindow = new TgEditWindow(NULL, Name);
-
- BWCCGetVersion();
- }
-
- // âEâCâôâhâüâCâôè╓Éö
- int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance,
- LPSTR lpCmdLine, int nCmdShow)
- {
- TgEditMain gEditMain("COLOR KUN PAZZULE WORLD FOR WINDOWS Vol.1 [Stage Editer]",
- hInstance, hPrevInstance, lpCmdLine, nCmdShow);
-
- gEditMain.Run();
-
- return gEditMain.Status;
- }
-